Learn R Programming

Compositional (version 5.4)

Unconstrained log-contrast logistic or Poisson regression with compositional predictor variables: Unconstrained log-contrast logistic or Poisson regression with compositional predictor variables

Description

Unconstrained log-contrast logistic or Poisson regression with compositional predictor variables.

Usage

ulc.glm(y, x, z = NULL, model = "logistic", xnew = NULL, znew = NULL)

Arguments

y

A numerical vector containing the response variable values. This must be a continuous variable.

x

A matrix with the predictor variables, the compositional data. No zero values are allowed.

z

A matrix, data.frame, factor or a vector with some other covariate(s).

model

This can be either "logistic" or "poisson".

xnew

A matrix containing the new compositional data whose response is to be predicted. If you have no new data, leave this NULL as is by default.

znew

A matrix, data.frame, factor or a vector with the values of some other covariate(s). If you have no new data, leave this NULL as is by default.

Value

A list including:

devi

The residual deviance of the logistic or Poisson regression model.

be

The constrained regression coefficients. Their sum equals 0.

est

If the arguments "xnew" and znew were given these are the predicted or estimated values, otherwise it is NULL.

Details

The function performs the unconstrained log-contrast logistic or Poisson regression model. The logarithm of the compositional predictor variables is used (hence no zero values are allowed). The response variable is linked to the log-transformed data without the constraint that the sum of the regression coefficients equals 0. If you want the regression without the zum-to-zero contraints see lc.glm. Extra predictors variables are allowed as well, for instance categorical or continuous.

References

Aitchison J. (1986). The statistical analysis of compositional data. Chapman & Hall.

Lu J., Shi P., and Li H. (2019). Generalized linear models with linear constraints for microbiome compositional data. Biometrics, 75(1): 235-244.

See Also

lc.glm, lc.reg, lc.reg2, alfa.pcr, glm.pcr

Examples

Run this code
# NOT RUN {
y <- rbinom(150, 1, 0.5)
x <- as.matrix(iris[, 2:4])
x <- x / rowSums(x)
mod1 <- lc.glm(y, x)
mod2 <- lc.glm(y, x, z = iris[, 5])
# }

Run the code above in your browser using DataLab